package com.bsy.videostation.api

import com.bsy.network.response.BaseResponse
import com.bsy.videostation.model.req.ReqLoginModel
import com.bsy.videostation.model.res.AppSourceItem
import com.bsy.videostation.model.res.PanelInfo
import com.bsy.videostation.model.res.UserInfo
import com.bsy.videostation.model.res.VideoCategoryItem
import com.bsy.videostation.model.res.VideoInfo
import retrofit2.http.Body
import retrofit2.http.GET
import retrofit2.http.Headers
import retrofit2.http.POST
import retrofit2.http.Query

/**
 * Created by since on 2024/5/30.
 * Copyright
 * 描述：接口地址
 */
interface MainApInterface {
    /**
     * 获取Token
     */
    @POST("/login")
    suspend fun passwordLogin(@Body data: ReqLoginModel): BaseResponse<UserInfo?>?

    /**
     * 获取面板id
     */
    @GET("/tvos/release/tab/list")
    suspend fun getPanelInfo(): BaseResponse<PanelInfo?>?

    /**
     * 获取视频列表
     */
    @GET("/tvos/release/tab/info")
    suspend fun getVideoList(@Query("tabId") tabId: String): BaseResponse<VideoInfo>?


    /**
     * 获取mock的视频列表
     */
    @Headers("baseUrl:mock")
    @GET("/m2/4601892-4251534-default/180638080")
    suspend fun getVideoCategoryList(): BaseResponse<MutableList<VideoCategoryItem>>?

    /**
     * 获取mock的视频列表
     */
    @Headers("baseUrl:mock")
    @GET("/m2/4601892-4251534-default/181249035")
    suspend fun getAppInfoList(): BaseResponse<MutableList<AppSourceItem>>?

    /**
     * 获取Mock的分类数据
     *
     */
    @Headers("baseUrl:mock")
    @GET("/m2/4601892-4251534-default/181293883")
    suspend fun getVideoAllList(): BaseResponse<VideoInfo>


}